Most communication systems incorporate one or more methods of error recovery to render the communications carried by the system more robust or resilient. Two such methods are data error detection and/or correction, and data retransmission. In error detection, a relatively small amount of redundant data is added to a data transmission, such as a data packet, before being transmitted. At the receiving end of the transmission, the redundant data is compared to the original data in the data packet to determine whether the data packet includes any data errors. In error correction, such as forward error correction (FEC), a relatively large amount of redundant data complements the original data, such that some data errors of the primary data may be corrected on the receiving end using the redundant data. Generally, significantly more redundant data is required to correct errors in the original data than what is required to merely detect the errors, thus imposing a tradeoff between communication overhead and error correction capability.
Retransmission mechanisms, on the other hand, typically rely on feedback from a receiver of a communication transmission. More specifically, if the receiver receives a data packet without uncorrectable errors, the receiver may “acknowledge” receipt of the data to the transmitter of the data. Oppositely, when the receiver does not acknowledge such receipt, indicating that the transmitted data was erroneous and unrecoverable, the transmitter may then retransmit the data packet to the receiver, thus trading data throughput for data integrity.
While each of the two error recovery methods above are powerful, a combination thereof may often provide a robust transmission scheme while facilitating a reasonable level of communication overhead or throughput. For example, the hybrid automatic repeat request (HARQ) retransmission mechanism causes a first transmission of a data packet from a transmitter to a receiver to include error detection data without error correction data, thus maintaining a low level of communication overhead. If the receiver positively acknowledges error-free receipt of the data packet, the transmitter may then transfer another data packet in a similar manner. If, instead, the receivers does not acknowledge receipt, or negatively acknowledges the data packet, the transmitter may then retransmit the data packet, this time with error correction data. As a result, error correction data and its associated overhead are included in the data packet only after the transmitter receives an unrecoverable data packet, thus providing a significant reduction in overhead over schemes in which error correction data accompanies every data packet.
In many communication systems, the transmitted data packets may be associated with a particular “quality of service”, by which a stream of such packets, often termed a “service flow”, are expected to adhere to particular performance levels, such as maximum levels of delay, jitter, and packet loss. As a result, error recovery techniques, such as error detection/correction and data retransmission, may positively or negatively affect the ability of the communication system to meet an expected quality of service.
Overview
Discussed herein is a method of communication retransmission. In the method, data packets associated with an expected quality of service are transmitted. Transmission performance associated with the transmission of the data packets is determined in relation to the expected quality of service. A maximum number of retransmissions for one of the data packets to be transmitted is selected based on the transmission performance. The one of the data packets is transmitted using the communication retransmission scheme limited by the selected maximum number of retransmissions. In another implementation, a computer-readable medium has encoded thereon instructions executable by a processor for implementing the above method of communication retransmission.
Further presented herein is a communication station configured to employ a retransmission scheme. The communication station includes transmission circuitry and a transmission scheduler. The transmission circuitry is configured to transmit data packets associated with an expected quality of service to a communication device. The transmission scheduler is configured to transfer the data packets to the transmission circuitry according to the expected quality of service. The scheduler is also configured to determine transmission performance of the data packets relative to the expected quality of service, and to select a maximum number of retransmissions for one of the data packets to be transmitted based on the transmission performance. Further, the transmission circuitry is configured to transmit the one of the data packets using a communication retransmission scheme limited by the selected maximum number of retransmissions.